//
//  CXHAdapterCommonAdapter.h
//  CXHAdSDK
//
//  Created by 陈坤 on 2022/3/12.
//

#import <Foundation/Foundation.h>
#import "CXHAdapterCommonDefine.h"
#import "CXHAdapterCommonStatusTracker.h"
#import "CXHAdapterCommonReportMark.h"
#import "CXHAdSDKConfigModel.h"

NS_ASSUME_NONNULL_BEGIN

@interface CXHAdapterCommonAdapter : NSObject

@property (nonatomic, strong) CXHAdapterCommonStatusTracker *tracker;

@property (nonatomic, strong) CXHAdSDKPosModel *posModel;
/**
 是否展示关闭按钮，默认展示，为YES则不展示
*/
@property (nonatomic, assign) BOOL hiddenCloseView;

- (nullable CXHAdapterAdType)platformAdType;

- (nullable CXHAdapterPlatform)platformType;

- (void)setUpPlatformAdPosModel:(CXHAdSDKPosModel *)posModel userID:(NSString *)userID;

// request
- (void)sendRequestReportWithCount:(NSInteger)count;
- (void)sendRequestReportWithMark:(CXHAdapterCommonReportMark *)mark;

// success
- (void)sendSuccessReportWithCount:(NSInteger)count;
- (void)sendSuccessReportWithMark:(CXHAdapterCommonReportMark *)mark;

// fail
- (void)sendFailureReportWithCount:(NSInteger)count;

// display
- (void)sendDisplayReportWithMark:(CXHAdapterCommonReportMark *)mark;
- (void)sendDisplayReportWithMark:(CXHAdapterCommonReportMark *)mark urlList:(NSArray<NSString *> *)urlList;
- (void)sendDisplayReport;

// click
- (void)sendClickReportWithMark:(CXHAdapterCommonReportMark *)mark;
- (void)sendClickReportWithMark:(CXHAdapterCommonReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

// close
- (void)sendCloseReportWithMark:(CXHAdapterCommonReportMark *)mark;


@end

NS_ASSUME_NONNULL_END
